package cn.niit.edu.mobile.studyDemo.service;

import cn.niit.edu.mobile.studyDemo.dto.*;
import org.springframework.data.domain.Page;

import java.util.List;

public interface HeroService {
    /**
     * 创建一个新皮肤
     * @param skinInfo 皮肤数据实体
     * @return
     */
    SkinInfo createSkin(SkinInfo skinInfo);

    /**
     * 更新指定英雄的次要分类
     * @param id 英雄ID
     * @param newTypeId 新的类型
     * @return
     */
    HeroInfo updateHeroType(Integer id,Integer newTypeId);

    /**
     * 统计各类型英雄数量，按类型id升序排列
     * @return
     */
    List<HeroTypeData> getTypeCount();

    /**
     * 按分类名称查询英雄列表，分页返回
     * @param typeName 类型名称
     * @param page 页码
     * @param size 页长
     * @return
     */
    Page<HeroInfo> getTypeName(String typeName, Integer page, Integer size);


    /**
     *随机获取一个英雄队伍
     * @return
     */
    HeroInfo getHeroTeam();//获取一个战士
    HeroInfo getMage();//获取一个法师
    HeroInfo getStriker();//获取一个射手
    HeroInfo getAuxiliary();//获取一个辅助
    HeroInfo getAssassin();//获取一个刺客
}
